ARVE: Aspect-Oriented Runtime Verification Environment
نویسندگان
چکیده
Software testing, including runtime verification, is essential for developing reliable software products. As is often the case with the development of industrial software products, the scale of a test program tends to be larger than that of a product program. As the test program is inherent in the product program, it is often structured in an ad hoc manner. We consider that improving modularity, reusability and portability of a test program constitutes an important issue. Since a test program is concerned with its target program in crosscutting manner, the paradigm of aspect-oriented programming [1] is useful for improving the composition of a test program. Even today many industrial software products, such as embedded software, are written in C/C++, and popular software development tools, which are commonly available in various platforms, are classic tools, such as symbolic debuggers and performance profilers. Meanwhile, most of aspect-oriented language are designed for Java language, or are not available in embedded platforms. Considering these circumstances in industrial software development, we have designed a practical tool named aspect-oriented runtime verification environment (ARVE). ARVE enhances the capability of a symbolic debugger by employing aspect-oriented technology. In ARVE, a test program is written in aspect-oriented script language and can be dynamically woven into a target program. We briefly present the features, structure and evaluation results of ARVE and explain simple applications. We also explain workin-progress and speculative future work concerning ARVE.
منابع مشابه
Monitoring Method Call Sequences Using Annotations
In this paper we introduce JMSeq, a Java-based tool for the specification and runtime verification via monitoring of sequences of possibly nested method calls. JMSeq provides a simple but expressive way to specify the sequential execution of a Java program using code annotations via user-given sequences of methods calls. Similar to many monitoring-oriented environments, verification in JMSeq is...
متن کاملExtended Code Coverage for AspectJ-Based Runtime Verification Tools
Many runtime verification tools for the Java virtual machine rely on aspect-oriented programming, particularly on AspectJ, to weave the verification logic into the observed program. However, AspectJ imposes several limitations on the verification tools, such as a restricted join point model and the inability of weaving certain classes, particularly the Java and Android class libraries. In this ...
متن کاملAspect-Oriented Programming Runtime-Enforcement of Temporal Properties in Security-Critical Software
The Aspect-Oriented Programming paradigm has been advocated for modularisation of cross-cutting concerns in large systems. Various applications of this approach have been explored in the literature, one of which is that of runtime-verification based on assertions or temporal properties. Manually weaving temporal properties to ensure correct execution into a large code base is difficult to achie...
متن کاملVerification and analysis of domain-specific models of physical characteristics in embedded control software
Context: A considerable portion of the software systems today are adopted in the embedded control domain. Embedded control software deals with controlling a physical system, and as such models of physical characteristics become part of the embedded control software. Objective: Due to the evolution of system properties and increasing complexity, faults can be left undetected in these models of p...
متن کامل